home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3.2 / Ham Radio Version 3.2 (Chestnut CD-ROMs)(1993).ISO / mods / caty-767 / y767.glo < prev    next >
Text File  |  1990-02-04  |  8KB  |  129 lines

  1. (*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
  2. (* Program:     Y767.GLO - Global declarations (Part of CATY767.PAS)        *)
  3. (* Author:      Donald J. Wilke, N3HGQ@KA3QAC                               *)
  4. (* Start Date:  July 12, 1989                                               *)
  5. (* Last Update: February 4, 1990                                            *)
  6. (* Purpose:     Control program for Yaesu FT-767GX Transceiver.             *)
  7. (*              Requires RS-232 interface between computer & FT-767GX.      *)
  8. (* Usage:       Compile to .EXE file using Turbo Pascal and execute the     *)
  9. (*              .EXE file by typing CATY767 at the DOS prompt.              *)
  10. (* Needs:       Y767.GLO, Y767GLO.PAS, Y767UTIL.PAS, Y767DISP.PAS,          *)
  11. (*              Y767RTC.PAS, Y767INST.PAS and Y767COMM.PAS.                 *)
  12. (* Remarks:     This program originally written in QuickBasic Version 4.5   *)
  13. (*              and translated for TURBO PASCAL Version 5.5                 *)
  14. (*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
  15.  
  16. CONST
  17.  
  18.     (* Compile-time conditionals, set to match configuration *)
  19.  
  20.     Credit : STRING[20]
  21.            = 'Vers. 1.0  by N3HGQ';  (* For evolutionary record *)
  22.     Test         : BOOLEAN = FALSE;  (* True if testing w/o comport *)
  23.     SetSel       : BOOLEAN = TRUE;   (* False to simulate KBD input *)
  24.     ToneEnc      : BOOLEAN = FALSE;  (* True if CTCSS board installed *)
  25.     Module6      : BOOLEAN = TRUE;   (* True if 6M module installed *)
  26.     Module2      : BOOLEAN = TRUE;   (* True if 2M module installed *)
  27.     Module70A    : BOOLEAN = FALSE;  (* True if 430-440 mod installed *)
  28.     Module70B    : BOOLEAN = FALSE;  (* True if 440-450 mod installed *)
  29.     Parity       : INTEGER = $00;    (* 0 = No parity *)
  30.     DataBits     : INTEGER = $03;    (* 3 = Use full 8 bits per character *)
  31.     StopBits     : INTEGER = $04;    (* 4 = Yaesu uses 2 stop bits *)
  32.     DLAB         : INTEGER = $80;    (* 8250 Divisor Latch Access Bit *)
  33.     DTR          : INTEGER = $01;    (* Value for Data Terminal Ready *)
  34.     RTS          : INTEGER = $02;    (* value for Ready To Send *)
  35.     OUT2         : INTEGER = $08;    (* Bit that enables adapter ints *)
  36.     OCW1         : INTEGER = $21;    (* 8259 Operation Control Word 1 *)
  37.     OCW2         : INTEGER = $20;    (* 8259 Operation Control Word 2 *)
  38.     IRQT         : INTEGER = $01;    (* Mask to turn Timer ints on/off *)
  39.     TimerInt     : INTEGER = $1C;    (* Timer Control interrupt # *)
  40.     TimeZone     : INTEGER = 5;      (* Hours behind UTC *)
  41.     ClockFlag    : BOOLEAN = TRUE;   (* False disables clock during Comm *)
  42.     FreqErrorFlag: BOOLEAN = FALSE;  (* Freq out of range flag *)
  43.     Nul          : CHAR    = CHR(0); (* Used to build null strings *)
  44.     TZ           : STRING  = ' EST ';(* Default Timezone *)
  45.     Divisor      : WORD    = 24;     (* Value for 4800 baud operation *)
  46.     ScreenSeg    : WORD    = 0000;   (* Storage for video memory addr *)
  47.     SaveCSeg     : WORD    = 0000;   (* Storage for Code segment addr *)
  48.     ComBase      : WORD    = $2F8;   (* Base address of COM ports *)
  49.  
  50.     (* Define foreground, background colors, character attributes *)
  51.     DFG          : INTEGER = 3;      (* Default FG color - CYAN *)
  52.     DBG          : INTEGER = 0;      (* Default BG color - BLACK *)
  53.     PFG          : INTEGER = 14;     (* Parameter FG color - YELLOW *)
  54.     RFG          : INTEGER = 2;      (* Requested param FG color - GRN *)
  55.     SFG          : INTEGER = 15;     (* Status FG color - HI WHITE *)
  56.     EFG          : INTEGER = 31;     (* Error FG color - HI WHT + BLNK *)
  57.     EBG          : INTEGER = 4;      (* Error BG color - RED *)
  58.     SBA          : INTEGER = 4;      (* Border FG/BG attrib - RED/BLK *)
  59.     CLA          : INTEGER = 31;     (* Clock FG/BG attr - HI WHT/BLUE *)
  60.     FKA          : INTEGER = 31;     (* FKey line FG/BG attr - HI WHT/BLUE *)
  61.     COA          : INTEGER = 79;     (* CAT Off FG/BG att - HI WHT/RED *)
  62.     BFG          : INTEGER = 0;      (* Select bar FG color - BLK *)
  63.     BBG          : INTEGER = 15;     (* Select bar BG color - WHT *)
  64.  
  65.     (* Define FT-767 Instructions & general purpose string constants *)
  66.     CatOn        : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(0);
  67.     CatOff       : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(1)+CHR(0);
  68.     Check        : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(1);
  69.     Up10Hz       : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(2);
  70.     Dn10Hz       : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(3);
  71.     BandUp       : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(6);
  72.     BandDn       : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(7);
  73.     SplitTog     : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR($30)+CHR($A);
  74.     ClarTog      : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR($40)+CHR($A);
  75.     MtoV         : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR($50)+CHR($A);
  76.     VtoM         : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR($60)+CHR($A);
  77.     Swap         : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR($70)+CHR($A);
  78.     Aclr         : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR($80)+CHR($A);
  79.     AckString    : STRING[5]  = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR($B);
  80.     Nul3String   : STRING[3]  = CHR(0)+CHR(0)+CHR(0);
  81.     Title        : STRING[44] = 'CATY Transceiver Control Program';
  82.     FreqErr      : STRING[17] = ' Frequency error ';
  83.     CmdErr       : STRING[17] = '  Command error  ';
  84.     MemErr       : STRING[17] = '  Memory error   ';
  85.     TimerErr     : STRING[40] = '  Restoring the normal Timer interrupt  ';
  86.     TfileErr     : STRING[26] = '  Cannot find UPDATE.DUM  ';
  87.  
  88. (*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
  89. TYPE
  90.     String5      = STRING[5];        (* Used for FT-767 Instructions, Echos *)
  91.     String86     = STRING[86];       (* To hold FT-767 Status Update stream *)
  92.     CircBuffer   =
  93.         ARRAY[0..1024] OF Char;      (* COMM serial input buffer *)
  94.  
  95. (*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
  96. VAR
  97.     Zero1             : BYTE;        (* For initialization purposes *)
  98.     Clearit           : BYTE;        (* Dummy variable *)
  99.     TicCount          : BYTE;        (* Used to calc seconds for clock *)
  100.     CommChar          : CHAR;        (* Character from the COM_ port *)
  101.     Buffer            : CircBuffer;  (* Incoming serial character buffer *)
  102.     LastRead,                        (* Index of the last character read *)
  103.     LastSaved,                       (* Index of the last character stored *)
  104.     Index             : INTEGER;     (* General purpose counter variable *)
  105.     ComPort           : INTEGER;     (* Serial port - COM1: or COM2: *)
  106.     ComVec            : INTEGER;     (* Vector # for COM_: (IRQ_) *)
  107.     IRQM              : INTEGER;     (* Mask to turn IRQ_ ints on/off *)
  108.     CharsInBuf        : INTEGER;     (* No of chars in serial buffer *)
  109.     OldComVec         : POINTER;     (* Global storage for old COM Int vect *)
  110.     OldVector         : POINTER;     (* Holds old clock interrupt vector *)
  111.     CAT               : BOOLEAN;     (* CAT active/inactive flag *)
  112.     MR,Cl,Fk          : BOOLEAN;     (* Mem Recall, Clarif, Func key flags *)
  113.     DownFlag          : BOOLEAN;     (* Step Dn/Up flag *)
  114.     QuitFlag          : BOOLEAN;     (* Quit to DOS flag *)
  115.     Quit              : BOOLEAN;     (* Flag for exiting the program *)
  116.     Inst              : String5;     (* Global FT-767 Instruction code *)
  117.     Update            : String86;    (* Global FT-767 Update stream *)
  118.     UpdateFile        : TEXT;        (* Test file contains dummy Update *)
  119.     Y767MemDataFile   : TEXT;        (* Filename for memory data file *)
  120.     Y767VFODataFile   : TEXT;        (* Filename for VFO database file *)
  121.     Y767MemFileParams : STRING[76];  (* Length of MemFile record *)
  122.     Echo  : ARRAY[1..5] OF CHAR;     (* Global FT-767 Echo code *)
  123.     Lifo  : ARRAY[1..86] OF CHAR;    (* Global LIFO Update stream *)
  124.     Zero2             : BYTE;        (* For initialization purposes *)
  125.     MemArray :
  126.         ARRAY[1..100] OF STRING[70]; (* For VFO datafile Memory array *)
  127.  
  128. (*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ End of Globals ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
  129.